1. Field of the Invention.
This invention relates in general to a motion estimation method, and more particularly to a method for reducing the memory requirements and computational complexity for motion estimation.
2. Description of Related Art.
In recent years, the information transmitting media such as newspaper, TV, and radio have been flooded with information relative to multimedia. Multimedia refers to information presented in the combination of text, graphics, video, sound and the like. Since such information is general handled by a computer, and thus the data representative of the video and sounds as well as text and graphics are required to be digitized.
When data representative of a video such as a motion picture are digitized, the amount of digitized data is extremely large in comparison with data indicative of sound, text or graphics. For this reason, the data of a motion picture to be handled by the computer are required to be compressed when the data is stored in a storage device or transmitted over a communication line.
There have been a proposed wide variety of data encoder-decoders for compressing the data of a motion picture in accordance with the correlation between two pictures (occasionally referred to as frames) partly forming the motion picture. Estimating motion in image sequences is one of the most important functional blocks of a video coder-decoder. However, the matching of a reference block of an image frame with respect to a much larger search area in a previous frame requires significant computation.
A full motion video sequence usually contains a significant amount of frame-to-frame redundancy. For video-phone or teleconferencing, motion in an entire scene is usually low and successive frames are highly correlated. In such a case, interframe coding techniques can reduce the information redundancy in video sequences and achieve high data compression.
The block matching motion compensation algorithm is widely used in many video coder-decoders to remove interframe redundancy. The block matching motion compensation algorithm is also recommended by several standards committees. The basic idea in the block matching algorithm is to provide the current frame in the video sequences into blocks, and for each block to search for a best matched block within a tracking range in an available previous frame. An area of measurement criterion is used for finding the best match. The threshold can be pre-assigned or adjusted by the fullness of the output buffer.
The displacement between the current block position data the best match one in the previous is called the motion vector. Given the motion vector information, the receiver can reconstruct the current frame using the available previous frame and the block differences. The better the motion compensated prediction, the higher is the expected efficiency in coding the block difference.
Among several possible searching methods, the full-search method, which searches all possible displays locations within the tracking area in the previous frame, gives the optimal solution. However, the full-search block matching method requires a huge number of operations. To perform this large number of operations sequentially, the cycle time can not be too great. Alternatively, inputting multiple data and performing parallel operations simultaneously has been proposed. However, this results in the pin count for data inputs and addressing to increase to an unreasonable number. Thus, this alternative method makes the implementation costly and infeasible.
Further, as mentioned above, motion estimation requires the matching of a reference block of an image frame with respect to a much larger search area in the previous frame. However, the memory required for the search area becomes very large. Further, the computation power is too large since each pixel in the reference block has to be subtracted from the corresponding pixel in the search block, and the absolute difference value must be accumulated, and the SAD values for all motion vectors must be compared to find the minimum value.
It can be seen then that there is a need for a motion estimation method that reduces the memory bandwidth requirements.
It can also be seen that there is a need for a motion estimation method that simplifies the computations for performing block matching.